package queue.Leetcode;

import java.util.LinkedList;
import java.util.Queue;

/**
 * 使用一个队列实现栈
 * 先记录当前的元素个数
 * 将新元素入队
 * 为了让新元素变为队首元素，就让新元素之前的左右元素都出列，此时新元素就是队首元素，再依次入队
 */
public class Num225Plus {
    private Queue<Integer> queue=new LinkedList<>();

    public void push(int x) {
         //记录当前队列的元素个数
        int size=queue.size();

        queue.offer(x);

        for (int i = 0; i <size ; i++) {
            queue.offer(queue.poll());
        }
    }

    public int pop() {
       return queue.poll();
    }

    public int top() {
      return queue.peek();
    }

    public boolean empty() {
     return queue.isEmpty();
    }
}
